In one case, we already had relative fds and hence this was
nicer. Unfortunately the other areas got uglier. More fd-relative
porting to do later.
Closes: #424
Approved by: giuseppe
*/
if (!ot_gfile_ensure_unlinked (self->config_path_efi, cancellable, error))
goto out;
- if (!gs_file_rename (new_config_path, self->config_path_efi,
- cancellable, error))
- goto out;
+ if (rename (gs_file_get_path_cached (new_config_path), gs_file_get_path_cached (self->config_path_efi)) < 0)
+ {
+ glnx_set_error_from_errno (error);
+ goto out;
+ }
}
ret = TRUE;
cancellable, error))
goto out;
- if (!gs_file_rename (deployment_var_labeled_tmp, deployment_var_labeled,
- cancellable, error))
- goto out;
+ if (rename (gs_file_get_path_cached (deployment_var_labeled_tmp),
+ gs_file_get_path_cached (deployment_var_labeled)) < 0)
+ {
+ glnx_set_error_from_errno (error);
+ goto out;
+ }
}
ret = TRUE;
else if (etc_exists)
{
/* Compatibility hack */
- if (!gs_file_rename (deployment_etc_path, deployment_usretc_path,
- cancellable, error))
- goto out;
+ if (renameat (deployment_dfd, "etc", deployment_dfd, "usr/etc") < 0)
+ {
+ glnx_set_error_from_errno (error);
+ goto out;
+ }
usretc_exists = TRUE;
etc_exists = FALSE;
}